home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh5x / sh56b.d64 / logical bricks (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  19KB  |  537 lines

  1. 10 REM"  [213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]
  2. 11 [143]"  PEEK                            PEEK
  3. 12 REM"  [194] L O G I C A L  B R I C K S [194]
  4. 13 [143]"  PEEK                            PEEK
  5. 14 REM"  [194]                            [194]
  6. 15 [143]"  PEEK  VON                       PEEK
  7. 16 REM"  [194]                            [194]
  8. 17 [143]"  PEEK      MANFRED WERNER        PEEK
  9. 18 REM"  [194]      ZIMMERMANNSTR. 27     [194]
  10. 19 [143]"  PEEK      1000 BERLIN 41        PEEK
  11. 20 REM"  [194]                            [194]
  12. 21 [143]"  PEEK      1990                  PEEK
  13. 22 REM"  [194]                            [194]
  14. 23 [143]"  MID$LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN(null)
  15. 24 REM"
  16. 25 [143]"
  17. 100 GOTO 550
  18. 104 REM ------------------------------
  19. 105 PRINT " [146][157]";
  20. 106 GET C$: IF C$="" GOTO 106
  21. 107 C=ASC(C$): PRINT " [157]";: RETURN
  22. 109 REM ------------------------------
  23. 110 GOSUB 105: E=-(C=17)-2*(C=145):                    E=E-3*(C=157)-4*(C=133)
  24. 111 IF E>0 THEN PRINT " [157]";
  25. 112 RETURN
  26. 114 REM ------------------------------
  27. 115 GOSUB 105:                              IF C=13 THEN PRINT " [157]";: RETURN
  28. 116 GOTO 115
  29. 159 REM ------------------------------
  30. 160 X$="": XL=0
  31. 170 GOSUB 110: IF E>0 THEN RETURN
  32. 171 IF G AND F GOTO 202
  33. 175 IF F1 AND XL=0 AND (C=63) THEN G=-1:       PRINT C$;:X$=X$+C$:XL=1:GOTO170
  34. 180 AL=C>64 AND C<91: ZA=C>47 AND C<58
  35. 190 IF (AL OR ZA) AND XL<4 THEN                PRINT C$;: X$=X$+C$: XL=XL+1
  36. 200 IF XL=0 GOTO 170
  37. 202 IF C<>20 GOTO 214
  38. 204 PRINT " [157][157]";: XL=XL-1:                  X$=LEFT$(X$,XL): G=0: GOTO 170
  39. 214 IF C<>Z1 AND C<>Z2 GOTO 170
  40. 215 PRINT C$;: Z1=C+1-(C=91): Z2=Z1
  41. 216 IF XL=4 THEN RETURN
  42. 217 X$=X$+" ": XL=XL+1: GOTO 216
  43. 219 REM -------------------------------
  44. 220 FOR M=1 TO H:                           P%(K,M,1)=VAL(MID$(A$(K),11+M,1))
  45. 221 IF P%(K,M,1)=0 THEN M=M-1: GOTO 223
  46. 222 NEXT M
  47. 223 Z%(K)=M: F%(K)=5:IF M=1 THEN F%(K)=1
  48. 224 RETURN
  49. 225 REM -------------------------------
  50. 226 FOR M=1 TO H-1:                             P%(K,M,1)=M: P%(K,M,2)=M+1
  51. 227 NEXT M: Z%(K)=H-1: F%(K)=2: RETURN
  52. 229 REM -------------------------------
  53. 230 FOR M=1 TO H-1:                             P%(K,M,1)=M+1: P%(K,M,2)=M
  54. 231 NEXT M: Z%(K)=H-1: F%(K)=2: RETURN
  55. 234 REM -------------------------------
  56. 235 FOR M=1 TO H:                               P%(K,M,1)=M: P%(K,M,2)=M
  57. 236 NEXT M:Z%(K)=H: IF C=0 THEN F%(K)=7:    RETURN
  58. 237 KL$=MID$(A$(K),16,1):                   IF KL$="[" THEN F%(K)=6: RETURN
  59. 238 F%(K)=2: RETURN
  60. 239 REM -------------------------------
  61. 240 FOR M1=1 TO H-2
  62. 241 :   FOR M2=1 TO 2: M=2*M1+M2-2:                 P%(K,M,1)=M1+1
  63. 242 :       P%(K,M,2)=M1-2+2*M2:                    P%(K,M,3)=M1+4-2*M2
  64. 243 NEXT M2,M1: Z%(K)=2*(H-2): F%(K)=3:     RETURN
  65. 244 REM -------------------------------
  66. 245 FOR M1=1 TO H-1:                            FOR M2=1 TO 2: M=2*M1+M2-2
  67. 246 :       P%(K,M,1)=M1+M2-1:                      P%(K,M,2)=M1-M2+2
  68. 247 NEXT M2,M1: Z%(K)=2*(H-1): F%(K)=4:     RETURN
  69. 249 REM -------------------------------
  70. 280 FOR I=1 TO AN: A$(I)="": NEXT I
  71. 281 FOR I=1 TO R: BN%(I)=0: R$(I)="":       FOR J=1 TO H: I%(J,I)=0: B$(J,I)=""
  72. 282 NEXT J,I: RN=0: RETURN
  73. 289 REM -------------------------------
  74. 290 FOR Z=4 TO 2*R+2 STEP 2
  75. 291 FOR S=1 TO 5*H-4 STEP 5:                    M$="    ": GOSUB 440
  76. 292 NEXT S,Z: RETURN
  77. 294 REM -------------------------------
  78. 295 POKE 214,3: POKE 211,0: SYS 58640
  79. 296 FOR I=1 TO 15:                              PRINT LE$+"      ";
  80. 297 NEXT I: RETURN
  81. 329 REM -------------------------------
  82. 330 N%(I)=N%(N1):N%(N1)=IH:N1=N1+1:         RETURN
  83. 334 REM -------------------------------
  84. 335 N%(K)=N%(N1):N%(N1)=KH:N1=N1+1:         RETURN
  85. 359 REM -------------------------------
  86. 360 FOR I=1 TO H:                              IF I%(I,R%(N,2))=B%(N,2) GOTO 362
  87. 361 NEXT I
  88. 362 A$=A$(N): R0=R%(N,1): I0=I%(I,R0)
  89. 363 A$(N)=LEFT$(A$,5)+""+B$(I0,R0)               +"[146]"+RIGHT$(A$,12): RETURN
  90. 364 REM ------------------------------
  91. 365 FOR I=1 TO H:                              IF I%(I,R%(N,1))=B%(N,1) GOTO 367
  92. 366 NEXT I
  93. 367 R0=R%(N,2)
  94. 368 A$(N)=LEFT$(A$(N),16)+""                     +B$(I%(I,R0),R0)+"[146])": RETURN
  95. 369 REM ------------------------------
  96. 370 FOR I=1 TO H:                              IF I%(I,R%(N,1))=B%(N,1) GOTO 372
  97. 371 NEXT I
  98. 372 A$(N)=LEFT$(A$(N),11)+""+STR$(I)             +"[146]": RETURN
  99. 374 REM -------------------------------
  100. 375 A$=A$(N):R0=R%(N,1):I0=I%(L%(N),R0)
  101. 376 A$(N)=LEFT$(A$,5)+""+B$(I0,R0)               +"[146]"+RIGHT$(A$,3)
  102. 377 RETURN
  103. 404 REM -------------------------------
  104. 405 FOR I=2 TO X: T$=T$+T0$: NEXT I:        T$=T$+X$: PRINT T$: RETURN
  105. 409 REM -------------------------------
  106. 410 FOR I=1 TO X: T$=T$+X$: NEXT I:         RETURN
  107. 414 REM -------------------------------
  108. 415 T$=T$+X$
  109. 416 T$=T$+Y$
  110. 417 Z=Z+1: M$=T$: GOSUB 440: RETURN
  111. 434 REM -------------------------------
  112. 435 Z=21:S=1: M$=LE$: GOSUB 440: M$=M0$
  113. 439 Z=21: S=1
  114. 440 POKE 214,Z: POKE 211,S: SYS 58640:      PRINT M$;: RETURN
  115. 459 REM -------------------------------
  116. 460 R0=R%(N,H0): B0=B%(N,H0):               P1=V%(N,VN%(N)): P0=P%(N,P1,H0)
  117. 461 Z=2*R0+2: S=5*P0-4: M$=B$(B0,R0):       GOSUB 440: I%(P0,R0)=B0: RETURN
  118. 469 REM -------------------------------
  119. 470 FOR I=1 TO 3:                               H0=H%(N,I): IF H0=0 GOTO 474
  120. 471 :   R0=R%(N,H0): P1=V%(N,VN%(N)):           P0=P%(N,P1,H0)
  121. 472 :   Z=2*R0+2: S=5*P0-4: M$="    ":          GOSUB 440: I%(P0,R0)=0
  122. 474 NEXT I: RETURN
  123. 489 REM -------------------------------
  124. 490 C$=MID$(A$,I,1): C=ASC(C$+CHR$(0)):     IF C=32 THEN I=I+1: GOTO 490
  125. 495 I=I+1: RETURN
  126. 499 REM -------------------------------
  127. 500 X$="": XL=0
  128. 501 GOSUB 490:                              IF C<>63 THEN F=0: GOTO 512
  129. 502 GOSUB 490:                              IF C<>Z1 AND C<>Z2 THEN E=-1: RETURN
  130. 503 A0$=A0$+"?   )": F=-1: GOTO 517
  131. 510 X$="": XL=0
  132. 511 GOSUB 490
  133. 512 ZB=C>64 AND C<91 OR C>47 AND C<58
  134. 513 IF ZB THEN X$=X$+C$:XL=XL+1:GOTO 511
  135. 514 IF C<>Z1 AND C<>Z2 OR XL=0 THEN            E=-1: RETURN
  136. 515 IF XL<4 THEN X$=X$+" ": XL=XL+1:           GOTO 515
  137. 516 X$=LEFT$(X$,4): A0$=A0$+X$+C$
  138. 517 M$=STR$(K)+" "+A0$: GOSUB 439:          E=0: RETURN
  139. 549 REM -------------------------------
  140. 550 T0$="[195]": T1$="[213]": T2$="[201]": T3$="[202]":     T4$="[203]": T5$="[194]": T6$="[171]": T7$="[179]"
  141. 551 T8$="[195][195][195][195]"
  142. 552 LE$="                                     "
  143. 558 POKE 53280,6: POKE 53281,6
  144. 559 REM -------------------------------
  145. 560 DIM A$(60),I%(7,8),B$(7,8),R$(8),           BN%(8),P%(60,12,3)
  146. 561 DIM Z%(60),JN%(60),L%(60),F%(60),           N%(60),MA%(60),MB%(60),V%(60,12)
  147. 562 DIM VN%(60),VM%(60),V1%(60),V2%(60),        R%(60,3),B%(60,3),H%(60,3)
  148. 599 REM -------------------------------
  149. 600 T$="[147][213]": X=30: X$=T2$: GOSUB 405
  150. 610 T$=   "[194] L O G I C A L   ":             T$=T$+"B R I C K S [194]": PRINT T$
  151. 620 T$=T3$: X$=T4$: GOSUB 405
  152. 640 POKE 214,20: POKE 211,0: SYS 58640
  153. 650 T$=T1$: X=38: X$=T2$: GOSUB 405
  154. 670 T$=   "[194]                                     [194]": PRINT T$
  155. 680 T$=T3$: X$=T4$: GOSUB 405: GOTO 813
  156. 699 REM -------------------------------
  157. 700 M0$="EINHEITEN: ?[146][157]": GOSUB 435
  158. 710 GET C$: IF C$="" GOTO 710
  159. 720 H=ASC(C$)-48:IF H<2 OR H>7 GOTO 710
  160. 730 PRINT C$+" RUBRIKEN: ?[146][157]";
  161. 740 GET C$: IF C$="" GOTO 740
  162. 750 R=ASC(C$)-48:IF R<2 OR R>8 GOTO 740
  163. 761 PRINT C$+" AUSSAGEN: ?[146][157]";
  164. 762 GET C$: IF C$="" GOTO 762
  165. 763 PRINT C$;: A1=ASC(C$)-48:               IF A1<0 OR A1>9 GOTO 762
  166. 764 PRINT "?[146][157]";: GET C$:                  IF C$="" GOTO 764
  167. 765 PRINT C$;: A0=ASC(C$)-48:               IF A0<0 OR A0>9 GOTO 764
  168. 766 AN=A0+10*A1: IF AN<10 OR AN>60 THEN        PRINT "[157] [157][157]?[146][157]";: GOTO 762
  169. 767 GOTO 985
  170. 769 REM -------------------------------
  171. 810 M0$="AUSSAGEN ALS DATEN LESEN ":        GOSUB 435
  172. 811 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 813,900
  173. 812 GOTO 811
  174. 813 M0$="AUSSAGEN-EDITOR ": GOSUB 435
  175. 814 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 810,700
  176. 815 GOTO 814
  177. 899 REM -------------------------------
  178. 900 READ H,R,AN
  179. 901 FOR I=1 TO AN: READ A$(I): NEXT I
  180. 910 M0$="SYNTAX-TEST": GOSUB 435
  181. 915 FOR K=1 TO AN: A$=A$(K):                    IF A$="" GOTO 930
  182. 920 :   GOSUB 1102
  183. 925 :   IF E THEN M0$="SYNTAX-FEHLER":             GOSUB 435:GOSUB 105: GOTO 990
  184. 926 :   A$(K)=A0$
  185. 930 NEXT K: GOTO 1200
  186. 984 REM ------AUSSAGENEDITOR-----------
  187. 985 K=1
  188. 990 A$(K)="": F=0
  189. 994 A$=A$(K): AL=LEN(A$)
  190. 995 M0$=STR$(K)+" "+A$: GOSUB 435: AE=0
  191. 1000 GOSUB 105:                              ON -(C<32)-2*(C>95) GOTO 1020,1025
  192. 1005 IF AL=33 GOTO 1000
  193. 1010 PRINT C$;: A$=A$+C$: AL=AL+1:           AE=-1: GOTO 1000
  194. 1020 ON -(C=13)-2*(C=17)-3*(C=20)               GOTO 1100,1045,1035
  195. 1021 GOTO 1000
  196. 1025 ON -(C=133)-2*(C=145)-3*(C=157)            GOTO 1200,1055,990
  197. 1030 GOTO 1000
  198. 1035 IF AL=0 GOTO 1000
  199. 1040 PRINT " [157][157]";: AL=AL-1: AE=-1:           A$=LEFT$(A$,AL): GOTO 1000
  200. 1045 IF AE THEN A$(K)=""
  201. 1046 K=K+1: IF K>AN THEN K=1
  202. 1050 GOTO 994
  203. 1055 IF AE THEN A$(K)=""
  204. 1056 K=K-1: IF K=0 THEN K=AN
  205. 1060 GOTO 994
  206. 1100 IF A$="" GOTO 1000
  207. 1101 GOSUB 1102: GOTO 1190
  208. 1102 I=1: A0$="": M$=LE$: GOSUB 439
  209. 1103 Z1=40: Z2=Z1: GOSUB 510:                IF E THEN RETURN
  210. 1105 Z1=41: Z2=Z1: GOSUB 500:                IF E THEN RETURN
  211. 1110 GOSUB 490: O=C:                         ON -(C=43)-2*(C=61) GOTO 1150,1175
  212. 1120 IF F THEN E=-1: RETURN
  213. 1125 ON -(C=0)-2*(C=60 OR C=62 OR C=35)         -3*(C=58) GOTO 1130,1150,1135
  214. 1130 E=0: RETURN
  215. 1135 A0$=A0$+C$: Z1=40: Z2=Z1:               GOSUB 510 : IF E THEN RETURN
  216. 1140 Z1=41: Z2=Z1: GOSUB 510:                IF E THEN RETURN
  217. 1145 GOSUB 490:                              IF C<>44 THEN E=0: RETURN
  218. 1150 A0$=A0$+C$: Z1=40:                      Z2=Z1-51*(NOT F AND O=43)
  219. 1151 GOSUB 510: IF E THEN RETURN
  220. 1155 Z1=C-(C=91)+1: Z2=Z1:                   ON 1-(Z1=93 OR F) GOSUB 500,510
  221. 1160 IF E THEN RETURN
  222. 1165 GOSUB 490:                              IF C<>0 THEN E=-1: RETURN
  223. 1170 E=0: RETURN
  224. 1175 A0$=A0$+C$: C1=0
  225. 1176 GOSUB 490
  226. 1178 IF C>48 AND C<(49+H) AND C>C1 THEN         A0$=A0$+C$: C1=C: GOTO 1176
  227. 1180 IF F OR C1>0 GOTO 1184
  228. 1182 IF C=63 THEN A0$=A0$+C$: GOSUB 490
  229. 1184 GOSUB 517: E=(C<>0): RETURN
  230. 1190 IF E THEN M0$="SYNTAX-FEHLER":             GOSUB 435: GOSUB 105: GOTO 990
  231. 1195 A$(K)=A0$: GOTO 1046
  232. 1199 REM -------UEBERSICHT-------------
  233. 1200 M0$="ALLE BEGRIFFE AUFLISTEN ":         GOSUB 435: IF TA GOTO 2000
  234. 1205 Z=2: S=0
  235. 1210 T$=T1$:                                 FOR I=1 TO H-1: T$=T$+"[195][195]"
  236. 1211 T$=T$+RIGHT$(STR$(I),1)+"[146][195][178]"
  237. 1212 NEXT I:                                 T$=T$+"[195][195]"+RIGHT$(STR$(H),1)+"[146][195]"
  238. 1215 Y$=T2$: GOSUB 416
  239. 1220 FOR J=1 TO R-1: T$=""
  240. 1225 :   X=H: X$="[194]    ": GOSUB 410:             Y$=T5$: GOSUB 416
  241. 1230 :   T$=T6$: X=H-1: X$="[195][195][195][195][219]":              GOSUB 410
  242. 1235 :   X$=T8$: Y$=T7$: GOSUB 415
  243. 1240 NEXT J: T$=""
  244. 1245 X=H: X$="[194]    ": GOSUB 410:             Y$=T5$: GOSUB 416
  245. 1250 T$=T3$: X=H-1:X$="[195][195][195][195][177]": GOSUB 410:    X$=T8$: Y$=T4$: GOSUB 415
  246. 1260 TA=-1
  247. 1999 REM -----AUSSAGENCODIERUNG--------
  248. 2000 KN=0: KM=AN+1
  249. 2005 FOR K=1 TO AN: A$=A$(K): Y1=-1:             C$=MID$(A$,12,1): Y2=(C$<>"?")
  250. 2010 :   IF A$="" GOTO 2220
  251. 2020 :   O$=MID$(A$,11,1)
  252. 2021 :   C=ASC(O$+CHR$(0))
  253. 2030 :   J=-(C=43 OR C=60 OR C=62 OR               C=35)-2*(C=58): JN%(K)=J+1
  254. 2031 :   ON -(C=0 OR C=43)-2*(C=61)                 GOSUB 235,220
  255. 2032 :   ON -(C=60)-2*(C=62)-3*(C=35)               GOSUB 225,230,245
  256. 2033 :   IF C=58 THEN GOSUB 240
  257. 2040 :   FOR I=0 TO J: P=11*I+1:                 :   R$=MID$(A$,P,4)
  258. 2050 :       FOR I1=0 TO RN
  259. 2051 :           IF R$=R$(I1) THEN                       R%(K,I+1)=I1: GOTO 2120
  260. 2060 :       NEXT I1
  261. 2070 :       RN=RN+1:IF RN<=R GOTO 2110
  262. 2080 :       M1$="ZU VIELE RUBRIKEN":                GOTO 2250
  263. 2110 :       R$(RN)=R$: R%(K,I+1)=RN
  264. 2111 :       Z=2*I1+2: S=5*H+1:                      M$=""+R$+"[146]": GOSUB 440
  265. 2120 :       B$=MID$(A$,P+5,4)
  266. 2121 :      IF B$="?   " THEN F%(K)=I+1:               Y1=0: GOTO 2210
  267. 2129 :       FOR J1=0 TO BN%(I1)
  268. 2130 :       IF B$=B$(J1,I1) THEN                       B%(K,I+1)=J1: GOTO 2210
  269. 2140 :       NEXT J1
  270. 2150 :       BN%(I1)=BN%(I1)+1:                      IF BN%(I1)<=H GOTO 2190
  271. 2160 :       M1$="ZU VIELE BEGRIFFE/":               M1$=M1$+"RUBR"
  272. 2170 :       GOTO 2250
  273. 2190 :       B$(BN%(I1),I1)=B$:                      B%(K,I+1)=BN%(I1)
  274. 2200 :       Z=2*I1+2: S=5*BN%(I1)-4:                M$=B$: GOSUB 440
  275. 2210 :   NEXT I
  276. 2211 :   IF Y1 AND Y2 THEN KN=KN+1:                 N%(KN)=K: GOTO 2220
  277. 2212 :   IF O$="=" THEN F%(K)=3-Y2:                 L%(K)=VAL(C$)
  278. 2213 :   KM=KM-1: N%(KM)=K
  279. 2220 NEXT K
  280. 2229 E1=-1
  281. 2230 FOR I1=1 TO R:                              E1=(BN%(I1)=H) AND E1
  282. 2240 NEXT I1: IF E1 AND RN=R GOTO 3000
  283. 2245 M1$="ZU WENIGE BEGRIFFE"
  284. 2250 M0$=M1$+" - KORREKTUR ": GOSUB 435
  285. 2251 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 2253,2260
  286. 2252 GOTO 2251
  287. 2253 M0$=M1$+" - ABBRUCH ": GOSUB 435
  288. 2254 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 2250,5000
  289. 2255 GOTO 2254
  290. 2260 GOSUB 290:GOSUB 281: GOTO 994
  291. 2999 REM --------ORDNEN 1/2------------
  292. 3000 M1$="LOGIK-BAUSTEINE ORDNEN ":          M0$=M1$: GOSUB 435: GOSUB 115
  293. 3005 GOSUB 290: K0=KN: N0=1: K=1:            M0$=M1$+"- SCHRITT 1": GOSUB 435
  294. 3010 OA=0: OB=0: UA=KN+1: UB=KN+1
  295. 3015 N=N%(K): ON F%(N) GOTO                  3020,3080,3040,3045,3065,3050,3055
  296. 3020 R0=R%(N,1):B0=B%(N,1):P0=P%(N,1,1)
  297. 3021 IF I%(P0,R0)=B0 GOTO 3060
  298. 3025 IF I%(P0,R0)<>0 GOTO 4990
  299. 3030 FOR P1=1 TO H:                              IF I%(P1,R0)=B0 GOTO 4990
  300. 3035 NEXT P1: GOSUB 461: GOTO 3120
  301. 3040 OA=OA+1: MA%(OA)=N: GOTO 3060
  302. 3045 UA=UA-1: MA%(UA)=N: GOTO 3060
  303. 3050 OB=OB+1: MB%(OB)=N: GOTO 3060
  304. 3055 UB=UB-1: MB%(UB)=N
  305. 3060 N%(K)=N%(K0): K0=K0-1: GOTO 3067
  306. 3065 N%(K)=N%(N0): N%(N0)=N: N0=N0+1
  307. 3066 K=K+1
  308. 3067 IF K<=K0 GOTO 3015
  309. 3068 GOTO 3130
  310. 3080 FOR L=1 TO 2
  311. 3081 FOR P1=1 TO Z%(N)
  312. 3085 : IF I%(P%(N,P1,L),R%(N,L))=B%(N,L)          GOTO 3095
  313. 3090 NEXT P1,L: GOTO 3066
  314. 3095 R0=R%(N,3-L): B0=B%(N,3-L):             P0=P%(N,P1,3-L)
  315. 3096 IF RIGHT$(M0$,1)="2" GOTO 3100
  316. 3097 M0$=M1$+"- SCHRITT 2": GOSUB 435
  317. 3100 IF I%(P0,R0)=B0 GOTO 3120
  318. 3105 IF I%(P0,R0)<>0 GOTO 4990
  319. 3110 FOR P2=1 TO H:                              IF I%(P2,R0)=B0 GOTO 4990
  320. 3115 NEXT P2: GOSUB 461
  321. 3120 N%(K)=N%(K0):K0=K0-1:K=N0:GOTO 3015
  322. 3130 K2=K0: IF OA=0 GOTO 3136
  323. 3135 FOR I=1 TO OA:N%(K0+I)=MA%(I):NEXT:     K2=K0+OA
  324. 3136 IF UA=KN+1 GOTO 3150
  325. 3140 FOR I=1 TO KN-UA+1:                         N%(K2+I)=MA%(UA+I-1)
  326. 3145 NEXT I: K2=K2+KN-UA+1
  327. 3150 K1=K2: IF OB=0 GOTO 3400
  328. 3155 FOR I=1 TO OB:N%(K1+I)=MB%(I):NEXT:     K1=K1+OB
  329. 3399 REM ------ORDNEN 3/4--------------
  330. 3400 M0$=M1$+"- SCHRITT 3": GOSUB 435:       N0=1: K=K0+1: Q=0: GOTO 3405
  331. 3401 IF K>N0 THEN N%(K)=N%(N0):N%(N0)=N
  332. 3403 N0=N0+1
  333. 3404 K=N0
  334. 3405 IF K<=K2 GOTO 3510
  335. 3406 IF Q GOTO 4500
  336. 3407 M0$=M1$+"- SCHRITT 4": GOSUB 435:       Q=-1: K=N0
  337. 3408 M0=0: N1=N0
  338. 3409 K=K+1: IF K>K2 GOTO 3430
  339. 3410 KH=N%(K): G=0
  340. 3411 IF K<=N1 GOTO 3420
  341. 3412 FOR I=N1 TO K-1: IH=N%(I)
  342. 3413 :   FOR J1=1 TO JN%(IH):                    FOR J2=1 TO JN%(KH)
  343. 3414 :       IF R%(KH,J2)<>R%(IH,J1)                    GOTO 3417
  344. 3415 :       IF B%(KH,J2)<>B%(IH,J1)                    GOTO 3417
  345. 3416 :       M0=M0+1: MA%(M0)=IH: G=-1:              GOSUB 330: GOTO 3418
  346. 3417 :   NEXT J2,J1
  347. 3418 NEXT I
  348. 3419 IF G THEN M0=M0+1: MA%(M0)=KH:             GOSUB 335: GOTO 3409
  349. 3420 IF M0=0 GOTO 3409
  350. 3421 FOR I=1 TO M0: IH=M(I)
  351. 3422 :   FOR J1=1 TO JN%(IH):                    FOR J2=1 TO JN%(KH)
  352. 3423 :       IF R%(KH,J2)<>R%(IH,J1)                    GOTO 3429
  353. 3424 :       IF B%(KH,J2)<>B%(IH,J1)                    GOTO 3429
  354. 3425 :       M0=M0+1:                                FOR J3=M0 TO I+2 STEP -1
  355. 3426 :           MA%(J3)=MA%(J3-1)
  356. 3427 :       NEXT J3: MA%(I+1)=KH:                   GOSUB 335: GOTO 3409
  357. 3428 :   NEXT J2,J1
  358. 3429 NEXT I: GOTO 3409
  359. 3430 FOR I0=1 TO M0:                             N%(N0+I0-1)=MA%(I0)
  360. 3431 NEXT I0: GOTO 3404
  361. 3510 N=N%(K)
  362. 3525 FOR L=1 TO JN%(N)
  363. 3526 :   FOR P1=1 TO H
  364. 3527 :       IF I%(P1,R%(N,L))=B%(N,L)                  GOTO 3534
  365. 3528 :   NEXT P1
  366. 3529 NEXT L: IF NOT Q THEN K=K+1:                       GOTO 3405
  367. 3530 VN=0: H%(N,1)=1
  368. 3531 FOR P2=1 TO Z%(N)
  369. 3532 :   IF I%(P%(N,P2,1),R%(N,1))=0                THEN VN=VN+1: V%(N,VN)=P2
  370. 3533 NEXT P2: L%(N)=1: GOTO 3543
  371. 3534 VN=0: H%(N,1)=0
  372. 3535 FOR P2=1 TO Z%(N)
  373. 3536 :   IF P%(N,P2,L)=P1 THEN VN=VN+1:             V%(N,VN)=P2
  374. 3537 NEXT P2: IF VN=0 GOTO 3640
  375. 3542 L%(N)=L
  376. 3543 VN%(N)=1: V1%(N)=VN
  377. 3545 IF H%(N,1)=1 THEN H0=1: GOSUB 460
  378. 3546 IF JN%(N)=1 GOTO 3401
  379. 3547 H%(N,2)=0: H%(N,3)=0
  380. 3549 IF JN%(N)=3 GOTO 3570
  381. 3550 L1=3-L%(N):R0=R%(N,L1):B0=B%(N,L1):     P1=V%(N,VN%(N)): P0=P%(N,P1,L1)
  382. 3555 IF I%(P0,R0)=B0 GOTO 3401
  383. 3560 IF I%(P0,R0)<>0 GOTO 3630
  384. 3565 FOR P2=1 TO H:                              IF I%(P2,R0)=B0 GOTO 3630
  385. 3567 NEXT P2: H%(N,2)=L1: H0=L1:             GOSUB 460: GOTO 3401
  386. 3570 L1=1: IF L%(N)=1 THEN L1=2
  387. 3571 R0=R%(N,L1): B0=B%(N,L1):               P1=V%(N,VN%(N)): P0=P%(N,P1,L1)
  388. 3575 IF I%(P0,R0)=B0 GOTO 3590
  389. 3580 IF I%(P0,R0)<>0 GOTO 3630
  390. 3585 FOR P2=1 TO H:                              IF I%(P2,R0)=B0 GOTO 3630
  391. 3587 NEXT P2: H%(N,2)=L1: H0=L1:             GOSUB 460
  392. 3590 L2=6-L%(N)-L1
  393. 3591 R0=R%(N,L2): B0=B%(N,L2):               P0=P%(N,P1,L2)
  394. 3600 IF I%(P0,R0)=B0 GOTO 3401
  395. 3605 IF I%(P0,R0)<>0 GOTO 3630
  396. 3610 FOR P2=1 TO H:                              IF I%(P2,R0)=B0 GOTO 3630
  397. 3620 NEXT P2: H%(N,3)=L2: H0=L2:             GOSUB 460: GOTO 3401
  398. 3630 GOSUB 470
  399. 3640 VN%(N)=VN%(N)+1
  400. 3641 IF VN%(N)<=V1%(N) GOTO 3545
  401. 3645 N0=N0-1: IF N0=0 GOTO 4990
  402. 3646 N=N%(N0):GOSUB 470:VN%(N)=VN%(N)+1
  403. 3648 IF VN%(N)>V1%(N) GOTO 3645
  404. 3650 K=N0: GOTO 3545
  405. 4499 REM ---------ORDNEN 5-------------
  406. 4500 M0$=M1$+"- SCHRITT 5": GOSUB 435:       K=K2
  407. 4505 K=K+1: N=N%(K): IF K>K1 GOTO 4800
  408. 4510 H%(N,1)=0: H%(N,2)=0: H%(N,3)=0:        V1%(N)=0: V2%(N)=0
  409. 4515 FOR P0=1 TO H: B0=I%(P0,R%(N,1))
  410. 4520 :  IF B0=B%(N,1) THEN P%(N,1,1)=P0:           V1%(N)=1: GOTO 4535
  411. 4525 :   IF B0=0 THEN V1%(N)=V1%(N)+1:              P%(N,V1%(N),1)=P0
  412. 4530 NEXT P0
  413. 4535 FOR P0=1 TO H: B0=I%(P0,R%(N,2))
  414. 4540 :  IF B0=B%(N,2) THEN P%(N,1,2)=P0:           V2%(N)=1: GOTO 4560
  415. 4550 :   IF B0=0 THEN V2%(N)=V2%(N)+1:              P%(N,V2%(N),2)=P0
  416. 4555 NEXT P0
  417. 4560 IF V1%(N)=0 OR V2%(N)=0 GOTO 4610
  418. 4565 VN%(N)=1
  419. 4570 P1=P%(N,VN%(N),1): VM%(N)=1
  420. 4575 P2=P%(N,VM%(N),2):                      IF P1=P2 GOTO 4600
  421. 4580 B0=B%(N,1): R0=R%(N,1): P0=P1
  422. 4581 IF I%(P0,R0)=0 THEN H%(N,1)=1:          GOSUB 461
  423. 4585 B0=B%(N,2): R0=R%(N,2): P0=P2
  424. 4586 IF I%(P0,R0)=0 THEN H%(N,2)=2:          GOSUB 461
  425. 4590 GOTO 4505
  426. 4600 VM%(N)=VM%(N)+1:                        IF VM%(N)<=V2%(N) GOTO 4575
  427. 4605 VN%(N)=VN%(N)+1:                        IF VN%(N)<=V1%(N) GOTO 4570
  428. 4610 K=K-1: N=N%(K): IF K<=K2 GOTO 3640
  429. 4615 GOSUB 470
  430. 4620 VM%(N)=VM%(N)+1:                        IF VM%(N)>V2%(N) GOTO 4630
  431. 4625 GOTO 4575
  432. 4630 VN%(N)=VN%(N)+1:                        IF VN%(N)>V1%(N) GOTO 4610
  433. 4635 GOTO 4570
  434. 4799 REM --------ORDNEN 6--------------
  435. 4800 M0$=M1$+"- SCHRITT 6": GOSUB 435:       K=UB
  436. 4801 IF K>KN GOTO 4900
  437. 4802 N=MB%(K): R0=R%(N,1): B0=B%(N,1)
  438. 4805 FOR P0=1 TO H
  439. 4806 :   IF I%(P0,R0)=0 THEN GOSUB 461:             GOTO 4820
  440. 4807 :   IF I%(P0,R0)=B0 GOTO 4820
  441. 4810 NEXT P0: GOTO 4990
  442. 4820 K=K+1: GOTO 4801
  443. 4899 REM ------------------------------
  444. 4900 X=KM-8: IF KM=AN+1 GOTO 5000
  445. 4901 M0$="FRAGEN BEANTWORTEN ":              GOSUB 435
  446. 4904 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 5000,4910
  447. 4906 GOTO 4904
  448. 4910 GOSUB 295: Z=2: S=1
  449. 4911 X=X+8: IF X>AN THEN X=KM
  450. 4914 Y=X+7: IF Y>AN THEN Y=AN
  451. 4916 FOR K=X TO Y: N=N%(K):                      ON F%(N) GOSUB 360,365,370,375
  452. 4918 :   Z=Z+2: M$=A$(N): GOSUB 440
  453. 4920 NEXT K: GOTO 4901
  454. 4989 REM ------------------------------
  455. 4990 M1$="WIDERSPRUCH: AUSSAGE"+STR$(N):     GOTO 2250
  456. 4999 REM ------------------------------
  457. 5000 M0$="NAECHSTE AUFGABE ": GOSUB 435
  458. 5001 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 5003,5010
  459. 5002 GOTO 5001
  460. 5003 M0$="FERTIG ": GOSUB 435
  461. 5004 GOSUB 105:                              ON -(C=17)-2*(C=13) GOTO 4900,5100
  462. 5005 GOTO 5004
  463. 5010 GOSUB 295
  464. 5020 TA=0: GOSUB 280: GOTO 810
  465. 5100 POKE 214,22: SYS 58640: END
  466. 8999 REM ------------------------------
  467. 9000 DATA 6,5,32
  468. 9001 DATA "NAME(ELM)+TIER(KEIN)"
  469. 9002 DATA "SPEI(SUPP)+HOBB(LES)"
  470. 9003 DATA "NAME(HAR):NAME(ANDY),NAME(ELM)"
  471. 9004 DATA "HOBB(AUTO)+SPEI[KUCH]"
  472. 9005 DATA "HAAR(BRAU)=6"
  473. 9006 DATA "HAAR(KEIN)=2456"
  474. 9007 DATA "HAAR(SCHW)>NAME(NICK)"
  475. 9008 DATA "TIER(AAL)+SPEI[FISH]"
  476. 9009 DATA "TIER(KATZ):HAAR(SCHW),HAAR(GRAU)"
  477. 9010 DATA "HAAR(GRAU)#HOBB(PROG)"
  478. 9011 DATA "NAME(ELM)#NAME(NICK)"
  479. 9012 DATA "NAME(STEF)=135"
  480. 9013 DATA "NAME(STEF)+SPEI(SAL)"
  481. 9014 DATA "NAME(ELM)+SPEI(STEK)"
  482. 9015 DATA "TIER(PFER)=23456"
  483. 9016 DATA "NAME(ANDY)+HAAR(GRAU)"
  484. 9017 DATA "NAME(NICK)+HAAR[ROT]"
  485. 9018 DATA "TIER(KATZ)+SPEI(SUPP)"
  486. 9019 DATA "HAAR(ROT)#HOBB(TV)"
  487. 9020 DATA "HAAR(GRAU)<TIER(HUND)"
  488. 9021 DATA "NAME(NICK)=1"
  489. 9022 DATA "TIER(KATZ)>HAAR(SCHW)"
  490. 9023 DATA "HOBB(BAST)+HAAR(GRAU)"
  491. 9024 DATA "TIER(VOG)+HOBB(KOCH)"
  492. 9025 DATA "TIER(KATZ)#TIER(AAL)"
  493. 9026 DATA "HAAR(BLON)+SPEI(POMM)"
  494. 9027 DATA "NAME(GOTT)"
  495. 9028 DATA "NAME(GOTT)=?"
  496. 9029 DATA "NAME(ANDY)+TIER(?)"
  497. 9030 DATA "NAME(NICK)+HAAR(?)"
  498. 9031 DATA "NAME(?)+SPEI(KUCH)"
  499. 9032 DATA "NAME(?)+HOBB(AUTO)"
  500. 9099 REM ------------------------------
  501. 9100 DATA 5,5,16
  502. 9101 DATA "NAT (ENGL)+FARB(ROT )"
  503. 9102 DATA "NAT (SPAN)+TIER(HUND)"
  504. 9103 DATA "FARB(GRUN)+GETR(KAFF)"
  505. 9104 DATA "NAT (UKR )+GETR(TEE )"
  506. 9105 DATA "FARB(GRUN)>FARB(WEIS)"
  507. 9106 DATA "RAU (ZIRE)+TIER(SCHN)"
  508. 9107 DATA "RAU (ZIGA)+FARB(GELB)"
  509. 9108 DATA "GETR(MIL )=3"
  510. 9109 DATA "NAT (NORW)=1"
  511. 9110 DATA "RAU (PFEI)#TIER(FUCH)"
  512. 9111 DATA "RAU (ZIGA)#TIER(PFER)"
  513. 9112 DATA "RAU (STUM)+GETR(LIMO)"
  514. 9113 DATA "NAT (JAP )+RAU (ZIRI)"
  515. 9114 DATA "NAT (NORW)#FARB(BLAU)"
  516. 9115 DATA "TIER(VOG )"
  517. 9116 DATA "GETR(WHIS)"
  518. 9199 REM ------------------------------
  519. 9200 DATA 5,5,31
  520. 9201 DATA "BER (ING )=1"
  521. 9202 DATA "SPOR(VOLL)=3"
  522. 9203 DATA "NAT (POL )+BER (JOUR)"
  523. 9204 DATA "BER (FEIN)+ALT (21  )"
  524. 9205 DATA "BER (LEHR)+SPOR(SCHW)"
  525. 9206 DATA "BER (KAP )+ZIEL(ROST)"
  526. 9207 DATA "SPOR(HAND)+NAT (DDR )"
  527. 9208 DATA "NAT (USSR)+ZIEL(LEIP)"
  528. 9209 DATA "ZIEL(BERL)+ALT (32  )"
  529. 9210 DATA "SPOR(LATH)+ZIEL(MAGD)"
  530. 9211 DATA "NAT (DDR )#NAT (UNG )"
  531. 9212 DATA "ALT (52  )#ZIEL(DRES)"
  532. 9213 DATA "ALT (24  )#ZIEL(LEIP)"
  533. 9214 DATA "BER (ING )#NAT (ZYP )"
  534. 9215 DATA "ALT (40  )"
  535. 9216 DATA "SPOR(FUSS)"
  536. 9299 REM ------------------------------
  537.